HAL USART constants migration ¶
This section provides information about the HAL USART constants migration.
HAL USART error ¶
|
HAL1 |
HAL2 |
|---|---|
|
In HAL1, error handling has been performed using a set of macros that define various error states,
including combined errors such as
|
In HAL2, the error defines have been reorganized and renamed.
- The
|
#define HAL_USART_ERROR_NONE
#define HAL_USART_ERROR_PE
#define HAL_USART_ERROR_NE
#define HAL_USART_ERROR_FE
#define HAL_USART_ERROR_ORE
#define HAL_USART_ERROR_RTO
#define HAL_USART_ERROR_UDR
#define HAL_USART_ERROR_DMA
#define HAL_USART_ERROR_INVALID_CALLBACK
|
#define HAL_USART_ERROR_NONE
#define HAL_USART_RECEIVE_ERROR_PE
#define HAL_USART_RECEIVE_ERROR_NE
#define HAL_USART_RECEIVE_ERROR_FE
#define HAL_USART_RECEIVE_ERROR_ORE
#define HAL_USART_RECEIVE_ERROR_RTO
#define HAL_USART_TRANSMIT_ERROR_UDR
#define HAL_USART_RECEIVE_ERROR_DMA
#define HAL_USART_TRANSMIT_ERROR_DMA
|
Related concept:
Note
The following USART constants, which were previously defined using the
#define
directive, have been converted to an enumerated type (enum).
Related concept: Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
HAL USART stop bits ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_STOPBITS_0_5
#define USART_STOPBITS_1
#define USART_STOPBITS_1_5
#define USART_STOPBITS_2
|
typedef enum
{
HAL_USART_STOP_BIT_0_5,
HAL_USART_STOP_BIT_1,
HAL_USART_STOP_BIT_1_5,
HAL_USART_STOP_BIT_2
} hal_usart_stop_bits_t;
|
HAL USART word length ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_WORDLENGTH_7B
#define USART_WORDLENGTH_8B
#define USART_WORDLENGTH_9B
|
typedef enum
{
HAL_USART_WORD_LENGTH_7_BIT,
HAL_USART_WORD_LENGTH_8_BIT,
HAL_USART_WORD_LENGTH_9_BIT
} hal_usart_word_length_t;
|
HAL USART clock phase ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_PHASE_1EDGE
#define USART_PHASE_2EDGE
|
typedef enum
{
HAL_USART_CLOCK_PHASE_1_EDGE,
HAL_USART_CLOCK_PHASE_2_EDGE
} hal_usart_clock_phase_t;
|
HAL USART last bit ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_LASTBIT_DISABLE
#define USART_LASTBIT_ENABLE
|
typedef enum
{
HAL_USART_CLOCK_LAST_BIT_DISABLED,
HAL_USART_CLOCK_LAST_BIT_ENABLED
} hal_usart_clock_last_bit_state_t;
|
HAL USART FIFO thresholds ¶
In HAL2, USART FIFO thresholds for TX and RX are merged and defined using an enumeration type,
hal_usart_fifo_threshold_t.
|
HAL1 |
HAL2 |
|---|---|
#define USART_TXFIFO_THRESHOLD_1_8
#define USART_TXFIFO_THRESHOLD_1_4
#define USART_TXFIFO_THRESHOLD_1_2
#define USART_TXFIFO_THRESHOLD_3_4
#define USART_TXFIFO_THRESHOLD_7_8
#define USART_TXFIFO_THRESHOLD_8_8
#define USART_RXFIFO_THRESHOLD_1_8
#define USART_RXFIFO_THRESHOLD_1_4
#define USART_RXFIFO_THRESHOLD_1_2
#define USART_RXFIFO_THRESHOLD_3_4
#define USART_RXFIFO_THRESHOLD_7_8
#define USART_RXFIFO_THRESHOLD_8_8
|
typedef enum
{
HAL_USART_FIFO_THRESHOLD_1_8,
HAL_USART_FIFO_THRESHOLD_1_4,
HAL_USART_FIFO_THRESHOLD_1_2,
HAL_USART_FIFO_THRESHOLD_3_4,
HAL_USART_FIFO_THRESHOLD_7_8,
HAL_USART_FIFO_THRESHOLD_8_8
} hal_usart_fifo_threshold_t;
|
HAL USART address detect length ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_ADDRESS_DETECT_4B
#define USART_ADDRESS_DETECT_7B
|
typedef enum
{
HAL_UART_ADDRESS_DETECT_4_BIT,
HAL_UART_ADDRESS_DETECT_7_BIT
} hal_uart_address_detect_length_t;
|
HAL USART trigger polarity ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_TRIG_POLARITY_RISING
#define USART_TRIG_POLARITY_FALLING
|
typedef enum
{
HAL_USART_AM_TRIG_RISING,
HAL_USART_AM_TRIG_FALLING
} hal_usart_am_trig_polarity_t;
|
HAL USART trigger sources ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_GPDMA1_CH0_TCF_TRG
#define USART_GPDMA1_CH1_TCF_TRG
#define USART_GPDMA1_CH2_TCF_TRG
.
.
.
|
typedef enum
{
HAL_USART_AM_TRIG_GPDMA1_CH0_TC
HAL_USART_AM_TRIG_GPDMA1_CH1_TC
HAL_USART_AM_TRIG_GPDMA1_CH2_TC
.
.
.
} hal_usart_am_trig_source_t;
|
HAL USART clock prescaler ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_PRESCALER_DIV1
#define USART_PRESCALER_DIV2
#define USART_PRESCALER_DIV4
#define USART_PRESCALER_DIV6
#define USART_PRESCALER_DIV8
#define USART_PRESCALER_DIV10
#define USART_PRESCALER_DIV12
#define USART_PRESCALER_DIV16
#define USART_PRESCALER_DIV32
#define USART_PRESCALER_DIV64
#define USART_PRESCALER_DIV128
#define USART_PRESCALER_DIV256
|
typedef enum
{
HAL_USART_PRESCALER_DIV1,
HAL_USART_PRESCALER_DIV2,
HAL_USART_PRESCALER_DIV4,
HAL_USART_PRESCALER_DIV6,
HAL_USART_PRESCALER_DIV8,
HAL_USART_PRESCALER_DIV10,
HAL_USART_PRESCALER_DIV12,
HAL_USART_PRESCALER_DIV16,
HAL_USART_PRESCALER_DIV32,
HAL_USART_PRESCALER_DIV64,
HAL_USART_PRESCALER_DIV128,
HAL_USART_PRESCALER_DIV256
} hal_usart_prescaler_t;
|
HAL USART directions ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_MODE_RX
#define USART_MODE_TX
#define USART_MODE_TX_RX
|
typedef enum
{
HAL_USART_DIRECTION_RX,
HAL_USART_DIRECTION_TX,
HAL_USART_DIRECTION_TX_RX
} hal_usart_direction_t;
|
HAL USART requests ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_RXDATA_FLUSH_REQUEST
#define USART_TXDATA_FLUSH_REQUEST
|
typedef enum
{
HAL_USART_REQUEST_RX_DATA_FLUSH,
HAL_USART_REQUEST_TX_DATA_FLUSH
} hal_usart_request_t;
|
HAL USART parity ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_PARITY_NONE
#define USART_PARITY_EVEN
#define USART_PARITY_ODD
|
typedef enum
{
HAL_USART_PARITY_NONE,
HAL_USART_PARITY_EVEN,
HAL_USART_PARITY_ODD
} hal_usart_parity_t;
|
HAL USART NSS mode ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_NSS_HARD
#define USART_NSS_SOFT
|
typedef enum
{
HAL_USART_SLAVE_SELECT_PIN_IGNORED,
HAL_USART_SLAVE_SELECT_PIN_USED
} hal_usart_slave_select_config_t;
|
HAL USART NACK state ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_NACK_ENABLE
#define USART_NACK_DISABLE
|
Removed as not used by this HAL USART Driver ( SMARTCARD specific setting handled by HAL SMARTCARD). |
HAL USART clock polarity ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_POLARITY_LOW
#define USART_POLARITY_HIGH
|
typedef enum
{
HAL_USART_CLOCK_POLARITY_LOW,
HAL_USART_CLOCK_POLARITY_HIGH
} hal_usart_clock_polarity_t;
|
HAL USART flags ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_FLAG_TXFT
#define USART_FLAG_RXFT
#define USART_FLAG_RXFF
#define USART_FLAG_TXFE
#define USART_FLAG_REACK
#define USART_FLAG_TEACK
#define USART_FLAG_BUSY
#define USART_FLAG_RTOF
#define USART_FLAG_TXE
#define USART_FLAG_TXFNF
#define USART_FLAG_TC
#define USART_FLAG_RXNE
#define USART_FLAG_RXFNF
#define USART_FLAG_IDLE
#define USART_FLAG_ORE
#define USART_FLAG_NE
#define USART_FLAG_FE
#define USART_FLAG_PE
|
Removed; use the equivalent static inline functions provided in the LL Layer for flag management. For more details, refer to HAL USART get flag/interrupt. |
HAL USART clear flags ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_CLEAR_PEF
#define USART_CLEAR_FEF
#define USART_CLEAR_NEF
#define USART_CLEAR_OREF
#define USART_CLEAR_IDLEF
#define USART_CLEAR_TXFECF
#define USART_CLEAR_TCF
#define USART_CLEAR_UDRF
#define USART_CLEAR_RTOF
|
Removed; use the equivalent static inline functions provided in the LL Layer to clear flags. For more details, refer to Specific HAL USART clear flags. |
HAL USART interrupts ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_IT_PE
#define USART_IT_TXE
#define USART_IT_TXFNF
#define USART_IT_TC
#define USART_IT_RXNE
#define USART_IT_RXFNE
#define USART_IT_IDLE
#define USART_IT_RXFF
#define USART_IT_TXFE
#define USART_IT_RXFT
#define USART_IT_TXFT
#define USART_IT_ERR
#define USART_IT_ORE
#define USART_IT_NE
#define USART_IT_FE
|
Removed; use the equivalent static inline functions provided in the LL Layer for interrupt management. For more details, refer to HAL USART enable interrupt. |
HAL USART autonomous mode ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_AUTONOMOUS_MODE_DISABLE
#define USART_AUTONOMOUS_MODE_ENABLE
|
The constants used to manage the USART autonomous mode have been removed, as enabling or disabling autonomous mode is no longer handled through USART_AutonomousModeConfTypeDef. Instead, use the following functions to control the autonomous mode: hal_status_t HAL_USART_AM_EnablePacketTrigger(const hal_usart_handle_t *husart)
hal_status_t HAL_USART_AM_DisablePacketTrigger(const hal_usart_handle_t *husart)
|
HAL USART idle frame mode ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_IDLE_FRAME_ENABLE
#define USART_IDLE_FRAME_DISABLE
|
The constants used to manage the USART autonomous mode have been removed, as enabling or disabling the idle frame mode is no longer handled through USART_AutonomousModeConfTypeDef. Instead, use the following functions to control the idle frame mode: hal_status_t HAL_USART_AM_EnableIdle(const hal_usart_handle_t *husart)
hal_status_t HAL_USART_AM_DisableIdle(const hal_usart_handle_t *husart)
|
HAL USART FIFO modes ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_FIFOMODE_ENABLE
#define USART_FIFOMODE_DISABLE
|
The FIFO mode constants have been removed. Instead, use the following functions to manage FIFO mode: HAL_USART_EnableFifoMode(const hal_usart_handle_t *husart)
HAL_USART_DisableFifoMode(const hal_usart_handle_t *husart)
|
HAL USART clock output ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_CLOCK_DISABLE
#define USART_CLOCK_ENABLE
|
Removed; In HAL1, these macros have been used internally by the HAL USART driver to configure synchronous mode. Note
In HAL2, the user can select the mode through
|
HAL USART slave mode ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_SLAVEMODE_DISABLE
#define USART_SLAVEMODE_ENABLE
|
typedef enum
{
HAL_USART_MODE_MASTER
HAL_USART_MODE_SLAVE
} hal_usart_mode_t;
|
HAL USART IT mask ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_IT_MASK
|
Removed; this constant was used internally in
|
HAL USART masks and positions ¶
|
HAL1 |
HAL2 |
|---|---|
#define USART_CR_MASK
#define USART_CR_POS
#define USART_ISR_MASK
#define USART_ISR_POS
|
Removed; these constants have been removed from HAL2 and are already provided in the DFP. |